package com.qingfeng.medical.biz.information.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qingfeng.medical.biz.information.domain.dto.PatientSaveDTO;
import com.qingfeng.medical.biz.information.domain.dto.PatientUpdateDTO;
import com.qingfeng.medical.biz.information.domain.entity.Patient;
import com.qingfeng.medical.biz.information.domain.entity.UserInfo;
import com.qingfeng.medical.biz.information.domain.vo.UserInfoPageVo;

/**
 * 就诊人表
 *
 * @author 清风学Java
 * @date 2023-04-27 16:26:12
 */
public interface PatientService extends IService<Patient> {

    /**
     * 分页查询用户就诊人信息
     * @param userInfoPage
     * @param certificatesType
     * @param authStatus
     * @param patientStatus
     * @return
     */
    UserInfoPageVo patientList(Page<UserInfo> userInfoPage,
                               String certificatesType,
                               Integer authStatus,
                               Integer patientStatus);

    /**
     * 保存就诊人信息
     * @param patientSaveDTO
     */
    void savePatient(PatientSaveDTO patientSaveDTO);

    /**
     * 根据Id修改就诊人信息
     * @param patientUpdateDTO
     */
    void updatePatientById(PatientUpdateDTO patientUpdateDTO);

    /**
     * 就诊人认证
     * @param patient
     */
    void authPatient(Patient patient);
}

